package db2

import (
	"fmt"

	"os"

	"github.com/gohouse/gorose/v2"
	_ "github.com/ibmdb/go_ibm_db"
	log "github.com/sirupsen/logrus"
)

var DB2Client *gorose.Engin

func init() {
	// 全局初始化数据库,并复用
	// 这里的engin需要全局保存,可以用全局变量,也可以用单例
	// 配置&gorose.Config{}是单一数据库配置
	// 如果配置读写分离集群,则使用&gorose.ConfigCluster{}
	fmt.Println("HOSTNAME=" + os.Getenv("HOSTNAME") + ";DATABASE=" + os.Getenv("DATABASE") + ";PORT=" + os.Getenv("PORT") + ";UID=" + os.Getenv("UID") + ";PWD=" + os.Getenv("DBPWD"))

	client, err := gorose.Open(&gorose.Config{Driver: "go_ibm_db", Dsn: "HOSTNAME=" + os.Getenv("HOSTNAME") + ";DATABASE=" + os.Getenv("DATABASE") + ";PORT=" + os.Getenv("PORT") + ";UID=" + os.Getenv("UID") + ";PWD=" + os.Getenv("DBPWD")})
	if err != nil {
		log.Error("获取DB2连接错误" + err.Error())
	} else {
		log.Info("db2 driver=" + client.GetDriver())

		DB2Client = client
	}
}
func DB() gorose.IOrm {
	return DB2Client.NewOrm()
}
